The present invention relates to wireless digital networks, and in particular, to the problem of traffic forwarding in mesh networks.
Wireless digital networks commonly have a controller to which are attached one or more access points. Each access point supports a number of wireless clients. In most situations, each access point connects to its controller using a wired connection. Such wired connections, for example using 803.2 Ethernet and often 802.3af power over Ethernet, provide a high capacity channel between controller and access points.
In some situations, however, it is not possible to provide wired data connections to access points. Examples include large outdoor installations, such as rail yards, cargo terminals, and large college campuses. In such situations mesh networks are used. In a mesh network, only a few, perhaps only one access point has a wired connection to a controller. This access point may be referred to as a portal, or a root node. All other access points in the mesh network communicate wirelessly, access point to access point. Access points are organized into a mesh, a network usually represented topologically as a tree with its origin, or root, the access point with the wired connection to the controller.
In the operation of a mesh network, traffic from a client connected to an access point passes through the mesh in a directed fashion from access point to access point until the traffic finally reaches the root node. Similarly, traffic flows through the root node, and through a succession of access points until it reaches the access point to which the client is attached.
For various engineering reasons, mesh networks typically operate using a single radio channel for transferring data within the mesh, that is, from access point to access point. In many installations, this same channel may also be used in communicating between the access point and the wireless client.
The use of the shared channel leads to a problem where some mesh access points obtain a larger portion of the channel capacity for their transmissions compared to some other mesh access points that get a smaller portion. This imbalance causes data packets to accumulate at certain mesh access points eventually leading to data loss. To characterize the problem further, we need to consider both directions in which traffic flows through the mesh network—“downstream” from the portal (or root) towards the edge of the network, and “upstream” from the edge of the network towards the portal. To illustrate how the imbalance can affect downstream traffic, FIG. 1 shows a mesh network in which access point 200 is the root node of the mesh, access points 201 through 207 are mesh nodes, and 300 through 303 are wireless clients attached to nodes in the mesh.
Consider mesh access point 206. If parent node 205 has a steady stream of data destined to client node 302 and succeeds in getting access to the channel whenever it has data to send, then data packets will accumulate at 206 since 206 does not get a chance to forward the data downstream to client 302. In the upstream direction, the tree structure of the mesh causes a problem when traffic flows from multiple wireless clients up to the portal or root node. If an upstream node such as 205 does not get timely access to the channel for its transmissions, the memory capacity of that access point will be exceeded, and packets comprising the traffic must be dropped.
What is needed is a way of prioritizing traffic within access points in the mesh in both the upstream and downstream directions.